Content distribution system and method

ABSTRACT

Methods, systems, and articles of manufacture consistent with the present invention provide an electronic marketplace that matches units of content from secondary content providers with suitable vacancies from primary content providers. Vacancies may constitute, or be included in, any digital transmission containers, such as a television or radio programming, web pages, and the like. Specifically, the electronic marketplace automatically matches content offered by secondary content providers with vacancies offered by primary content providers thus filling the vacancies in these containers through a real-time content trading, placement, and distribution system. To do so, attributes associated with the vacancies and with units of secondary content are used to trade and match suitable vacancies with suitable content. This invention enables both secondary content owners and vacancy owners (primary content providers) to obtain the full commercial benefit of their secondary content and containers.

RELATED APPLICATIONS

This application claims priority to and is a continuation of U.S. patentapplication Ser. No. 11/355,204, entitled the same and filed on Feb. 16,2006, now U.S. Pat. No. 7,831,512 which is a continuation-in-part ofU.S. patent application Ser. No. 09/630,720, entitled “ContentDistribution System and Method Using a Proxy,” filed on Aug. 2, 2000,now abandoned which is a continuation-in-part of U.S. patent applicationSer. No. 09/532,048, entitled “Content Distribution System and Method,”filed on Mar. 21, 2000, now abandoned which relies upon and claimspriority to U.S. Provisional Patent Application No. 60/155,015, entitled“System for Online Advertising and Other Commerce,” filed on Sep. 21,1999. U.S. patent application Ser. No. 09/630,720 also relies upon andclaims priority to U.S. Provisional Patent Application No. 60/155,015.All provisional and non-provisional applications listed above are herebyincorporated by reference herein in their entirety.

BACKGROUND OF THE INVENTION

A. Field of the Invention

The invention relates generally to content distribution systems and,more particularly, to a system for distributing digital contentsassociated with a container based on a relationship between attributesassociated with the digital content and attributes associated with adefined region of the container. The container may constitute, or beincluded in, any digital transmission, such as a television or radioprogramming, web pages, and the like.

B. Description of the Related Art

Content generally comprises any kind of text, audible message, and/orvisual. Today, content is reduced to bits and bytes for transmission andvisual and/or audible output. Content finds its way into our homes viaoutput devices such as televisions (with or without set-top boxes),radios, computer networks (e.g., the Internet), and the like. Contentalso makes its way into our everyday routine via portable output devicessuch as pagers, personal digital assistants (PDAs), wireless telephones(e.g. cellular or satellite), and the like.

Generally, content is provided to these output devices based onarrangements made long before the transmission from a source to theoutput devices. For example, primary content providers such astelevision stations, radio stations, publishers on the Internet,Internet Service Providers, pager service companies, and other entitiesthat provide a medium or network for transmitting content to an audienceenter into agreements with content providers, such as advertisers, totransmit units of content, such as advertisements at predeterminedtimes, intervals, locations, etc. to all or specific devices.

But transmission of content-units is not limited to advertisements.Other types of content providers also prearrange for the transmission orairing of their content. For example, entities that produce programs(secondary content) for television enter into agreements with televisionstations and networks (primary content providers) to transmit specificprograms at predetermined times. The same is true for the other forms ofentertainment, edutainment, and communication described above.

Providers of primary and secondary content merge their content beforedelivery to the consumer. These arrangements are often negotiated longbefore delivery to the consumer and through a labor intensive process.Therefore, at the time of transmission the predetermined cost to thecontent providers does not necessarily reflect the current level orinterest in the secondary or primary content at the time oftransmission. For example, a primary content provider may experience anunexpected surge in interest in a particular program at a particulartime but the provider may not be able to reap the financial benefit ofthe additional interest by, for example, charging secondary contentproviders, such as advertisers accordingly for advertising during thesurge. Moreover, prearranged arrangements may prevent certainadvertisers and producers from competing effectively for transmissiontime from the primary content provider.

For example, the barriers for publishing content on the Internet arelow. A computer equipped with a communication mechanism such as a modemand telephone connection is nearly all that is necessary to gain accessto the Internet. A program called a web browser, such as the NETSCAPENAVIGATOR from NETSCAPE Corporation, makes it a simple task to traversethe vast network of information available on the Internet and,specifically, its subpart known as the “World Wide Web.”

The architecture of the web follows a conventional client-server model.The term “client” and “server” are used to refer to a computer's generalrole as a requester of data (the client) or provider of data (theserver). In conventional settings, a web browser resides in each clientand is used to access specially formatted “web pages” that reside onInternet (web) servers. Web clients and web servers communicate using aconventional protocol called “HyperText Transfer Protocol” (HTTP).

In operation, a web browser opens a connection to a web server andinitiates a request for a document using a Uniform Resource Locator(URL). The web server delivers the requested document, typically in astandard coded format such as the “HyperText Markup Language” (HTML)format. After the document is delivered, the connection is closed. Theweb browser renders the document, displaying content or performing afunction designated by the document. In this way, tile web serverpublishes content.

With the explosive growth of e-commerce, the Internet is poised torealize its potential as a revolutionary way for businesses to interactwith their customers and each other. This potential is evident with thegrowth of e-commerce as applied to certain business fields such asretailing, advertising, and content syndication. Certain known businessmethods, and conventional implementations of these methods allow fordeployment of each of these fields on the Internet and for primary orsecondary content providers to earn revenue for participating in thismarket. However, these fields remain artificially disjointed andmonolithic in their deployment.

Therefore, there is a need for a system that can combine the diversearea of commerce into a single universally accessible system to allcontent providers. Such a system not only permits digital contentproviders to explicitly target consumers and medium, but also it permitsprimary content providers, such as web publishers, cellular serviceproviders, and broadcasters, or secondary content providers to maximizetheir revenues for part of their medium.

SUMMARY OF THE INVENTION

Methods, systems, and articles of manufacture consistent withembodiments of the present invention overcome the shortcomings ofexisting systems, for example, by providing a means for creating (withincontent of any digital medium) designated regions (“vacancies”) whichare reserved to be filled by other secondary digital content, byproviding a means for creating units of content which can fill thevacancies, and by providing an automated broker that responds toreal-time notifications of vacancies that need content, selectsappropriate units of content for each vacancy, and transmits inreal-time the content unit information to fill each vacancy. Both thevacancies and the content units that fill them have attributes that maybe used to determine how and when a vacancy will be filled by a unit ofcontent, or how and when a unit of content can be used. The automatedbroker may use marketplace (trading) mechanisms to determine thematching and selection of content, A vacancy may be included in anydigital medium such as digital video or digital audio, web pages, emailand the like, Correspondingly, the unit of content that fills a vacancycan constitute any digital medium.

At different times, a single vacancy may be filled with a variety oftypes of different content from any source. Conversely, a single vacancyin content that is distributed to multiple consumers may be filled withdifferent content for each consumer at the same time—thus making thevacancy also a method for seamlessly assembling multi-sourced,mix-and-match content, on-the-fly.

Trading and placing content units within vacancies for content enablesboth primary content owners and secondary content owners to obtain thefull commercial and consumer benefit of their content.

In an implementation consistent with an embodiment the present inventiona method for creating vacancies within content is provided. A vacancy isa designated region within digital content which is reserved to befilled by other (secondary) digital content. Each vacancy has attributesthat can be used to determine how and when that vacancy will be filledby secondary content. At different times, a single vacancy may be filledwith a variety of types of different content from any source—thus makingthe vacancy also a method for assembling on-the-fly, mix-and-matchcontent.

In another implementation consistent with the present invention a methodfor creating a modular unit of digital content (a “snap-in”) isprovided. For example, a snap-in may be as simple as a graphic image, oras complex as a complete view of an email in-box, or a digital audiopublic message, or a digital video advertisement. The term “snap-in”connotes that it can fit into a vacancy. Each snap-in has attributesthat describe it fully, and that can be used to determine how and whenthat snap-in will be used.

In another implementation consistent with the present invention a methodfor creating a content broker that matches and selects snap-ins forvacancies is provided. The broker may be server software that runs on aservice provider's computers. The broker may include software thatmanages a database of information about available snap-ins andvacancies. The broker also includes software that can respond inreal-time to notifications of content vacancies that need to be filled,The broker includes software that can compare the attributes of avacancy with available snap-ins, and that can apply market mechanisms(trading) in the course of selecting a content snap-in for a vacancy.The broker can track the use of vacancies and the use of snap-ins. Thebroker also includes software that can distribute or transmit a snap-into each vacancy to be filled.

In another implementation consistent with an embodiment of the presentinvention, a method is provided for notifying a broker (or serviceprovider) in real-time of a vacancy opening that needs to be filled withcontent. The notification may be transmitted across a network such asthe Internet, and may include vacancy information, such as theattributes of the open vacancy, and other information including data onthe consumer of the digital content that contains the vacancy.

In another implementation consistent with an embodiment of the presentinvention, a method for merging a snap-in's content into the reservedregion designated by a vacancy in digital content is provided. Thismerging may occur in real-time. This merging will provide the endconsumer of content that contained vacancies with a seamless andpersonalizable experience of final content that may have been assembledon-the-fly from multiple units of content from multiple sources.

Systems and articles of manufacture corresponding to theseimplementations are also provided within the scope of the presentinvention.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of this specification, illustrate an implementation of theinvention and, together with the description, serve to explain theadvantages and principles of the invention. In the drawings.

FIG. 1A depicts a content trading, placement, and distribution system,according to an embodiment of the present invention;

FIG. 1B depicts a content trading, placement and distribution system,according to another embodiment of the present invention;

FIG. 2 depicts an exemplary vacancy and snap-in, according to anembodiment of the present invention;

FIG. 3 depicts an exemplary content distribution system suitable forpracticing methods and systems, according to an embodiment of thepresent invention;

FIG. 4 depicts a more detailed diagram of the consumer computer depictedin FIG. 3;

FIG. 5A depicts a more detailed diagram of the primary contentdistribution server depicted in FIG. 3;

FIG. 5B depicts a more detailed diagram of the snap-in provider serverdepicted in FIG. 3;

FIG. 5C depicts a more detailed diagram of the service provider serverdepicted n FIG. 3;

FIG. 6 depicts a flow chart of the steps performed when creating avacancy, according to an embodiment of the present invention;

FIG. 7 depicts a flow chart of the steps performed when creating asnap-in, according to an embodiment of the present invention;

FIG. 8 depicts a flow chart of the steps performed by the serviceprovider server when trading vacancies and snap-ins, according to anembodiment of the present invention;

FIG. 9 depicts a flow chart of the steps performed by the dataprocessing system when inserting a snap-in into a vacancy, according toan embodiment of the present invention;

FIG. 10 depicts an exemplary web page for use, according to anembodiment of the present invention;

FIG. 11 depicts an example embodiment suitable for methods and systemsconsistent with embodiments of the present invention; and

FIG. 12 depicts an alternative content distribution system suitable forpracticing methods and systems consistent with the present invention.

DETAILED DESCRIPTION

The following detailed description of the invention refers to theaccompanying drawings. Although the description includes exemplaryimplementations, other implementations are possible, and changes may bemade to the implementations described without departing from the spiritand scope of the invention. The following detailed description does notlimit the invention. Instead, the scope of the invention is defined bythe appended claims. Wherever possible, the same reference numbers willbe used throughout the drawings and the following description to referto the same or like parts.

Overview:

Methods, systems, and articles of manufacture consistent with anembodiment of the present invention provide a marketplace anddistribution mechanism that matches and trades units of content andcontainers of content, using attributes associated with the contentunits and containers, and merges matched content within the matchedcontainers. Such methods, systems, and articles enable primary contentproviders to make available and fill these containers in real time usinga content trading and placement process facilitated by the marketplace.This enables web publishers, information providers, and broadcasters toreceive content for their containers in real time and obtain value-basedreturns for permitting secondary content providers to fill thesecontainers with content. Similarly, this marketplace approach enablescontent providers to define units of content and distribute them in realtime into suitable containers, and to obtain value-based returns forpermitting web publishers, information providers, and broadcasters touse these units of content.

Vacancies are spatial or temporal regions that may constitute or beincluded in content containers. A vacancy is a place reserved to hold aunit of content created by a content provider. In one example, acontainer such as a web page, may contain vacancies in the form ofspatially defined regions within the web page. In another example, acontainer such as an audio program may contain vacancies in the form oftemporally defined regions designated for embedding units ofsecond-party content, such as advertising or public serviceannouncements. In yet another example a container, such as a textmessage intended for devices, such as pagers, cellular phones, or PDAs,may contain a vacancy in the form of a region designated for a unit ofembedded data sourced from a secondary content provider, such aspersonalized news, sports, or advertising.

A consumer may receive the container as a primary content stream. Anyvacancies in the container are open to accept suitable content from asuitable secondary content provider. The marketplace may locate asuitable secondary content provider whose content stream is transmittedto the consumer within any designated portions (vacancies) within theprimary content stream.

A vacancy is a region owned by a vacancy provider that can be used forany suitable use by any secondary content provider for any number ofuse-units (e.g., impressions) at any monetary price (or in exchange forany other instrument of value within the marketplace). A vacancyprovider may be a web publisher, broadcaster, information providers, orany other entity that makes vacancies available to secondary contentproviders. A vacancy provider may allocate permanent or temporaryoccupancy to secondary digital content providers based oncontent/context suitability and pricing considerations that arenegotiated by the marketplace. In other words, the vacancy provider maydictate the type of content needed for allocated regions within thevacancy provider's medium. The suitability, pricing matching isnegotiated in a marketplace based on the vacancy attributes that thevacancy provider attaches to the vacancy and attributes that a secondarycontent provider attaches to a particular unit of content.

Vacancy providers create vacancies with attributes, such as dynamicattributes and static attributes. These attributes identify each vacancyby type, methods, systems, and articles of manufacture consistent withan embodiment of the present invention provide a marketplace anddistribution mechanism that matches and trades units of content andcontainers of content, using attributes associated with the contentunits and containers, and merges matched content within the matchedcontainers. Such methods, systems, and articles enable primary contentproviders to make available and fill these containers in real time usinga content trading and placement process facilitated by the marketplace.This enables web publishers, information providers, and broadcasters toreceive content for their containers in real time and obtain value-basedreturns for permitting secondary content providers to fill thesecontainers with content. Similarly, this marketplace approach enablescontent providers to define units of content and distribute them in realtime into suitable containers, and to obtain value-based returns forpermitting web publishers, information providers, and broadcasters touse these units of content.

Vacancies are spatial or temporal regions that may constitute or beincluded in content containers. A vacancy is a place reserved to hold aunit of content created by a content provider. In one example, acontainer such as a web page, may contain vacancies in the form ofspatially defined regions within the web page. In another example, acontainer such as an audio program may contain vacancies in the form oftemporally defined regions designated for embedding units ofsecond-party content, such as advertising or public serviceannouncements. In yet another example a container, such as a textmessage intended for devices, such as pagers, cellular phones, or PDAs,may contain a vacancy in the form of a region designated for a unit ofembedded data sourced from a secondary content provider, such aspersonalized news, sports, or advertising.

A consumer may receive the container as a primary content stream. Anyvacancies in the container are open to accept suitable content from asuitable secondary content provider. The marketplace may locate asuitable secondary content provider whose content stream is transmittedto the consumer within any designated portions (vacancies) within theprimary content stream and the suitable secondary content to fill thevacancy. Static attributes may include required secondary content type(such as teenage advertising, sales opportunity, syndicated news, anaudio stream), the physical size and location of the vacancy, time anddate qualifications for the vacancy, or classification of the vacancy.Dynamic attributes are defined as attributes that can change or bederived at any time, or attributes that are evaluated just-in-time asthe vacancy is offered. Depending on the medium, dynamic attributes maycontain any combination of changing information—for example, about thespecific consumer, the content environment, or previous consumerinteractions with the content environment. Different media may offerdifferent mechanisms for transmitting dynamic attributes along withother vacancy information. As an example, in the case of a webpublisher, a vacancy may include dynamic attributes, such as real timeweb site traffic. When traffic is low at the web site, the cost to fillthe vacancy may be four cents per impression, however when web trafficis high, the cost may be six cents per impression. Another type ofdynamic attribute is keywords. For example, the value of a keywordentered by a consumer during a search request may be provided via HTTPas a dynamic attribute of a vacancy and used to help locate suitablesecondary content for that vacancy which will appear with thesearch-results content. That is, if a consumer enters the keyword “car,”in a search web page, content relating to cars may be used to fill thevacancy located on the search-results web page. Advertisers may competefor such keyword-based placement opportunities via a real-time automatedauction. Another example of a dynamic attribute is consumerdemographics.

A “snap-in” comprises a unit of digital content and or contentmeta-data, with associated attributes. The name derives from the ideathat these content units can be merged, or “snapped into” placementopportunities (vacancies) within primary content, based on matching.Some examples of types of snap-in include context-sensitive advertising,syndicated content, or “virtual storefronts.” Virtual storefronts aredefined as any content with which the consumer can interact to purchasegoods or services. An example of a virtual storefront would be aWorld-Wide-Web bookshop's HTML listing of 5 books on sale, which can beembedded within a suitable web page, and whose book topics candynamically match the ambient content of that web page. The attributesof a snap-in can also be static or dynamic attributes. Static attributesmay relate to the content provider, nature of content, etc. Dynamicattributes are attributes that are evaluated “just-in-time” (as thesnap-in is being delivered to a specific vacancy opportunity) in orderto customize the snap-in for that specific vacancy opportunity. Anexample of this would be a keyword attribute on a bookstore snap-in thatwould enable the book listing content to match the consumer. Providersof digital content units, also known as snap-in providers, createsnap-ins that may be plugged into vacancies. A snap-in providerinterested in placing snap-ins may set the attributes for each snap-into target or match suitable vacancies. The broker, or marketplace, fillsvacancies with snap-ins by matching and trading them based on theattributes of both the snap-ins and the vacancies.

The invention comprises a number of components, such as host software,adapter software, a service provider, vacancy editor software andsnap-in editor software. Vacancy editor enables vacancy providers tocreate vacancies and define attributes for those vacancies. Hostsoftware transmits and receives, in real time, information about avacancy with the service provider. Depending on the medium or contenttype, host software can reside on the consumer computer or the primarycontent distributor's computer. Adapter software, if necessary for thetype of content and environment, merges snap-in content into vacancieswithin content containers. Depending on the medium or content type, hostsoftware can reside on the consumer computer or the primary contentdistributor's computer. The service provider facilitates the process offilling vacancies with snap-ins by providing a real-time contentmatching, trading, placement, and distribution system. A snap-in editorenables a secondary digital content provider to define a unit of contentand its attributes. A vacancy editor enables a primary digital contentprovider to define a secondary-content placement opportunity withincontainer content, and the attributes of that placement opportunity.Depending on the content type and medium, snap-in editors and vacancyeditors can be as simple as a text editor, or can be more user-friendlysoftware. For example, in the World-Wide-Web, vacancies may be definedusing XML tags embedded within a simple HTML page, or with Javascriptused to create placement opportunities. In a similar way—depending onthe content type and medium—adapter or host software can be in the formof medium-specific features such as Javascript in the World Wide Web.

One of the many applications of the marketplace is in the field ofadvertising. The marketplace system provides a number of benefits overtraditional advertising systems. First, the marketplace enables digitalcontent providers to dynamically seek the most favorable placementopportunities based on real-time data. Digital content providers cancreate robust campaigns that match digital content in real-time to anytargeted criteria, including full consumer profiles, contextual content,and search keywords. Using the marketplace, digital content is placed inreal time on any suitable medium that draws a mass audience finding thebest audience hour-by-hour, or even minute-by-minute, as traffic orconsumers change.

Second, the marketplace enables vacancy providers to set up any numberof single-or-multi-purpose precisely-defined placement opportunitieswithin their container content. These vacancies are then automaticallyfilled with a suitable snap-in. The vacancy contains attributes thatgive the vacancy provider complete control over the digital content thatappears in their content's vacancies. Because placement opportunity inthese vacancies may be traded using real-time auctions, vacancyproviders achieve maximum value from their minute-to-minute audience.

Third, the marketplace provides a real-time electronic marketplace fortrading in digital real estate (vacancies and snap-ins). Software agentscan mediate the trading of vacancies and snap-ins. Automated real-timeauction mechanisms in the service provider can enable digital contentowners to maximize digital asset value without user intervention.Software configured with participant's preferences can act asmarketplace agents that enable a snap-in provider or a vacancy providerto achieve a desired result.

FIG. 1A depicts a content trading, placement, and distribution system100 suitable for practicing methods and systems consistent with thepresent invention. Distribution system 100 comprises a vacancy provider102, a snap-in provider 104, a service provider 106, a Primary ContentDistributor 107, and a consumer 108. Vacancy provider 102 createsvacancies, information about which is transmitted to service provider106 either statically (before distribution) by vacancy editor, ordynamically (in real-time at distribution) by host software. Again, avacancy may comprise or be included in a web page, audio video stream,or any other digital content. The vacancy information transmitted toservice provider 106 includes the vacancy attributes. Snap-in provider104 creates snap-ins (content or meta-content and attributes) andprovides snap-in information to service provider 106. Like the vacancy,a snap-in may be inserted in a web page, audio/video stream, or anyother digital content. When a consumer 108 requests, or is an intendedrecipient of, content containing a vacancy from a primary contentdistributor 107, primary content distributor 107 transmitspre-distribution notification to service provider 106, service provider106 matches a suitable snap-in with the vacancy in real-time, thenservice provider 106 sends snap-in content or meta-content to primarycontent distributor 107, and primary content distributor 107 sendsprimary content and snap-in content or meta-content to consumer 108 tobe embedded within the vacancy region. Alternatively, as shown in FIG.1B, the consumer 108 host software sends pre-distribution notificationto service provider 106, then service provider 106 sends snap-in contentor meta-content to consumer 108 host software to be embedded within thevacancy region.

FIG. 2 depicts an exemplary vacancy and snap-in consistent with theprinciples of the present invention. Vacancy 202 is created by vacancyprovider 102 using a vacancy editor. Depending upon the implementationand configuration of distribution system 100, the vacancy editor may beconfigured differently. For example, in the case of web pages, a vacancyeditor may be a well-known WYSIWYG page-editing program with a vacancyeditor program plug-in. In a different implementation, a vacancy editormay be an audio editor for streams, or a PCS editor that includes textcontent intended for broadcasts. Also in all implementations, vacanciescan be defined using markup language such as XML embedded with theprimary content, or as metadata of the primary content. Associated withvacancy 202 are static attributes 204 and dynamic attributes 206. Eachtime a consumer 108 is distributed content that contains vacancy 202,primary content distributor 107 transmits the vacancy attributes 204,206 to service provider 106, either by direct means built into primarycontent distributor 107's software or by host software that handles orprocesses the information requested from primary content distributor107.

A snap-in 210 is created by a snap-in editor software, such as aweb-based interface or other interface, consisting of software thatprompts the user to enter metadata to the snap-in content, or thesnap-in content or meta-data 211 itself, as well as the snap-in'sassociated attributes 212 and dynamic attributes 213. The snap-in editorsoftware may be remotely located at service provider 106. In that case,the snap-in editor software may be a web wizard program that helps auser create snap-ins using the web. Depending upon implementation andconfiguration of distribution system 100, the snap-in editor program maybe configured differently. In a different implementation, such as forbroadcast or PCS applications, the snap-in editor software may containcontent information and attributes suitable for that application.Snap-in 210 is designed to fill vacancy 202 and contains attributes 212to help in matching a vacancy in real-time.

System Components

FIG. 3 depicts an exemplary data processing system 300 suitable forpracticing methods and systems consistent with the present invention.Distribution system 300 comprises a consumer device 310, a primarycontent distributor server 320, and a snap-in provider server 330connected to a service provider server 340 via a network 350, such asthe Internet. A consumer uses device 310 to request and submitinformation to primary content distributor server 320. A digital contentprovider, such as an advertiser or a “virtual storefront” owner, usesservice provider server 340 to create and submit snap-ins to serviceprovider 340. In another implementation, the digital content providermay use local software, so that snap-in provider server 330 transmitssnap-ins to service provider 340. A vacancy provider (such as a webpublisher) uses service provider server 340 to create and submitvacancies to service provider server 340. In another implementation, thevacancy provider may use local software to create and transmit vacanciesto service provider server 340.

FIG. 4 depicts a more detailed diagram of consumer computer 310, whichcontains a memory 420, a secondary storage device 430, a centralprocessing unit (CPU) 440, an input device 450, a video display 460, andan output device 470. Memory 420 includes browser 422 that allowsconsumer to interact with primary content distributor servers 320 bytransmitting and receiving data, such as web pages. A web page mayinclude images or textual information using hypertext markup language(HTML), Java or other techniques. An example of browsers suitable foruse with methods and systems consistent with the present invention arethe Netscape Navigator browser, from Netscape Communications Corp., andthe Internet Explorer browser, from Microsoft Corporation.

As shown in FIG. 5A, primary content distributor server 320 includes amemory 502, a secondary storage device 510, a CPU 512, an input device514, and a video display 516. Memory 502 includes host software 506, andadapter software 508. Optionally, it may include vacancy editor software504, vacancy editor 504 enables primary content providers to createvacancies for their containers. Host software 506 transmits informationassociated with vacancies to a service provider server 340 each time aconsumer computer 310 requests a container that contains a vacancy 202.Host software 506 broadcasts information corresponding to the vacancy,such as vacancy attributes 204, 206 to service provider 340. In a webenvironment, a web software, such as the APACHE web software, may alsobe included in host software 506 to transmit and receive web pages.Adapter software 508 merges content with vacancies as the content isdelivered to host software 506 from either snap-in provider server 330or service provider server 340.

One potential configuration involves an in-process web server extensionor filter that cooperates with the host web server to perform theadapter functions described above. In an alternative configuration, theadapter and host software resides on a separate (proxy) server. Theproxy server is configured to intercept all requests to web server by,for example, listening on port 80, which is the port that web requeststypically come in and on which the web server is usually listening. Theweb server is therefore configured to listen on a different port, suchas port 81. In one configuration, both the web server and the proxyserver processes are implemented on a single computer, although they maybe distributed on different machines. The proxy server is alsoconfigured to forward incoming requests to the web sever for a response.After the web server returns a response to the proxy server, the adapterand host software on the proxy performs the functions described above.

As shown in FIG. 5B, snap-in provider server 330 includes a memory 520,a secondary storage decide 526, a CPU 528, and input device 530, and avideo display 532. Memory 520 includes snap-in content distributionsoftware 522 and adapter software 524. Snap-in provider software 522communicates with service provider server 340 and may include websoftware. Adapter software 524 records consumer follow-through activity.For example, when a consumer connects to snap-in provider server 330associated with the snap-in, snap-in provider software 522 may notifyservice provider server 340 of the consumer's selections and activity.

As shown in FIG. 5C, service provider server 340 includes a memory 540,a secondary storage device 548, a CPU 556, an input device 558, and avideo display 560. Memory 540 stores snap-in serving software 541,trading engine 542, matching engine 543, interface software 544, vacancyeditor software 545, and a snap-in editor software 546. The snap-inserving software 541 resides in memory 540, receives requests forsnap-ins and delivers snap-ins for matching with a vacancy. Tradingengine 542 provides a virtual trading floor where vacancies are filledwith snap-ins based on any snap-in's attributes and vacancy attributes.Matching engine 543 receives notifications of a vacancy along withattributes of the vacancy. Matching engine 543 searches the snap-ins andidentifies snap-ins that match the attributes of the vacancy. If thereare a plurality of snap-ins that match the vacancy, a financialcompetition takes place. The financial competition is managed by tradingengine 542. Hence, the trading engine 542 is able to trade, auctionvacancies and snap-ins. Interface software 544 provides access tovarious features of the service provider, including trading,preferences, and configuration features. Interface software 544 may be aweb page, Application Program Interfaces (API), or other inputinterface. An API is a set of routines, protocols, or tools forcommunicating with software applications. APIs provide efficient accessto trading engine 542 without the need for additional software tointerface with the engine. Vacancy editor software 545 allows a user todefine a vacancy without the user having to know a programming language(for example, without having to know how to program in HTML) to createthe vacancy. Snap-in editor software 546 helps a secondary contentprovider create and deliver snap-ins to a service provider 340 (e.g., aweb interface). One skilled in the art will appreciate that snap-ineditor software 546 may be located at snap-in provider server 330.

Secondary storage device 548 contains a database 550 that includes asnap-in data 552 and a vacancy data 554. Snap-in data 552 holdsinformation relating to snap-ins, such as attributes indicated bysecondary content providers. Vacancy data 554 holds information relatingto various vacancies, such as static attributes and dynamic attributes.

Vacancy Creation Process

As shown in FIG. 6A, vacancy creation process is initiated, for example,by displaying a vacancy editor software 504 (step 602). For example, aweb publisher may use vacancy editor software 504 to graphically definea vacancy within web pages. An exemplary web page 1000 with a vacancy isdepicted in FIG. 10. Web page 1000 contains vacancies 1002.

Next, a primary content provider may create a vacancy for a containerlocated at host server 320 (step 604). For example, a web publisher maydefine and link a vacancy region 1002 to web page 1000. Finally, thevacancy attributes associated with vacancy 1002 and the providerattributes are provided to interface software 544 on service providerserver 340 (step 606). The vacancy attributes are stored in host file554 and are accessible to digital content providers for viewing. Theattributes are also used during the trading process described below.That is, the attributes indicate the suitability or desirability ofvacancy 1002 to any particular buyer. A vacancy will be matched tosuitable second-party content through its attributes, and will have avalue in the marketplace based on its attributes. As consumers requestvacancy-containing content from host server 320, the vacancy attributesare transmitted through host software 506 to service provider 340. Inaddition, periodically, vacancy attributes may be updated as trafficconditions change at host server 320. For example, when web trafficincreases at host server 320, host software 506 notifies interfacesoftware 544 of the increase.

Snap-In Creation Process

As shown in FIG. 7, snap-in creation process is initiated by accessingsnap-in editor software 546 (e.g., web wizard software) located onservice provider server 340 (step 702). A secondary content provider mayaccess the service provider's web page through interface 544. Onceaccessed, the secondary content provider may use the web wizard softwareto create a snap-in (step 704). Each snap-in contains attributes as wellas digital content. For example, a snap-in may contain a strategyembodied in a software agent that executes the secondary contentprovider's bidding/trading strategy for a particular vacancy or vacancyattribute. The software agents may be created to bid aggressively undersome conditions or less aggressively for others. For example, thesoftware agent may be defined to bid high when the primary content ofthe vacancy will be displayed to a large audience, or when the vacancywill be displayed to a target audience, such as teenagers. Softwareagents may adjust their bids based on dynamic property values of currentvacancies. For example, a software agent may contain a comprehensivepolicy profile, such as targeting or excluding specific vacancyattributes, measuring complex web-consumer demographics, or even bid fora vacancy when specific individuals are involved. Once skilled in theart will appreciate that a vacancy may contain similar strategies as thesnap-ins. In one implementation the snap-in may be implemented as anobject and the associated software agent is implemented in the object'smethods. For example, in an embodiment of the present invention,defining a snap-in may include defining an algorithm in a conventionalor proprietary computer language to assemble specialized contentdynamically and to render the content into an appropriate format for itsdestination medium (e.g., a vacancy).

Next, the secondary content provider may provide the snap-in content orcontent meta-data to a service provider server 340 (step 706). That is,the provider may create, link, or upload content associated with thesnap-in to a service provider server 340. The secondary content providermay use snap-in editor software 546 to upload the information to serviceprovider server 340 using interface 544. Finally, attributes associatedwith the snap-in and provider attributes may be provided to serviceprovider server 340 (step 708). The attributes may be stored in snap-inprovider file 552.

Request Process

As shown in FIG. 8, request process is initiated by receiving a requestto provide content to a consumer (step 802). For example, a request maybe for a web page. Each time browser 422 requests content that containsa vacancy from host server 320, host software 504 transmits informationcorresponding to the requesting consumer, various vacancy attributes,and any other attributes (e.g., web server attributes) to serviceprovider server 340 (step 804). The vacancy may be designated forcontent such as paid or syndicated content. In instances where thevacancy is sold, this information is called a “vacancy offering.” Forexample, host software 504 may transmit any available demographicinformation regarding the consumer, such as age, physical location, orsoftware. Host software 504 may obtain demographic information by therequesting consumer's network address and domain name. Host software 504may also obtain demographics information from a profile created for eachconsumer. That is, host software 504 may require the consumer to loginto host server 320 to obtain web pages from host server 320. Hostsoftware may also transmit dynamic vacancy attributes, such as requiredcontent, physical attributes, and cost per impression. Additionally,host software 504 may transmit web server attributes, such as ratinginformation, or number of viewers. Once the vacancy offering is receivedat service provider server 340, the vacancy is matched with a suitablesnap-in in accordance to trading preferences of snap-in providers andvacancies; the transaction is executed.

Next, host server 320 receives the digital content and trackinginformation form the selected snap-in from interface software 544 (step806). Once received, adapter software 508 merges the content with thevacancy and transmits the snap-in content with digital content andtransaction information in place of the vacancy to the requestingconsumer (step 808). The digital content may be clickable and containlinks to a snap-in provider location, along with various trackinginformation (described below). For example, the digital content maycontain links to a snap-in provider server. If the consumer selects thedigital content (step 810), the consumer is connected to the snap-inprovider's server (812). Snap-in provider software 522 on snap-inprovider server 330 listens for requests that include trackinginformation from host server 320. When the tracking information isidentified, snap-in provider software 522 transmits the requestedinformation and at the same time snap-in provider software 522 transmitsthe requested information and at the same time snap-in provider software522 notifies service provider 340 of the request along with anyadditional selection activity (step 814). For example, by maintainingtracking information in a Uniform Resource Locator (URL), for each webpage a consumer views at snap-in provider server 330, a web softwarenotifies service provider server 340. Additionally, if a consumerpurchases an item through snap-in provider server 330, snap-in providerserver 330 notifies service provider server 340 as well.

Alternatively, or additionally, the tracking information may be embeddedwithin a file local to the consumer, or cookies, and later read by asoftware when that consumer connects to snap-in provider server 330.

Trading Process

As shown in FIG. 9, trading process is initiated by locating a snap-infor a vacancy based on matching attributes and/or market mechanisms(step 902). Trading engine 542 compares attributes for a vacancy withthose of a snap-in. A vacancy may be seeking syndicated content, whereasa snap-in may be a particular type of syndicated content. A marketmechanism is any type of method (e.g., buy, sell, or barter) used tolocate snap-ins and vacancies. For example, trading engine 542 may use aVickrey auction. The Vickrey auction allows a content provider to adjusttheir bidding strategy after each round. One skilled in the art willappreciate that other methods may be used, such as second price fieldbid auctions. Alternatively, or additionally, static trading may be usedin that preset snap-in fills a preset vacancy. That is, the vacancy mayindicate that only predetermined snap-ins (e.g., content from company“X”) may be used to fill the vacancy. In a static system, serviceprovider server 340 may serve as an auditing server, providingstatistical information regarding how many times the preset snap-in hasfilled the vacancy.

Regardless of the market mechanism used to locate snap-ins andvacancies, trading engine 542 executes transactions between snap-inproviders and vacancy providers (step 904). For example, trading engine542 may execute transactions using software agents to determine whichamong the eligible Strap-ins will be placed in he vacancy in real-lime.A software agent may be programmed to increase the price per impressionup to a predetermined amount. Thus, if the initial bid (e.g., 5 cents)is a failed transaction, the software agent may be programmed toincrease the price per impression (e.g., 15 cents). One skilled in theart will appreciate that the software agents may work with otherparameters, such as number of units, geographic location, or attributes,such as size of a region, or audio length of the region. One skilled inthe art will appreciate that other methods may be used to create winningstrategies, such as neural network based agents, or rule based inductionlearning.

Once a transaction has been executed, trading engine 542 notifiessnap-in provider (secondary content provider) as well as vacancyprovider (primary content provider) of the transaction details (step906). Trading engine 542 may also notify the respective agents of theproviders. For example, trading engine 542 may notify an agent toincrease the bid in a next transaction. Both vacancy providers andsnap-in providers may indicate maximum bid level. One skilled in the artwill appreciate that trading engine 542 may also directly notify theproviders of the failed transaction. In this case, the provider maydetermine how to handle future transactions.

Once a snap-in has been selected for the vacancy, trading engine 542transmits snap-in information and vacancy information to host software504 (step 908), which in turn notifies the adapter software 508, whichin turn merges the content. For example, the notification may include aURL link to the digital content, or the actual digital content. The URLlink may also include additional tracking information. That is, the URLlink may contain parameters used by the snap-in provider web site toinformation service provider server 340. Each time the consumer visitsdifferent snap-in provider web pages, the URL link may be used totransmit information to service provider server 340 so that serviceprovider server 340 obtains a complete record of the consumer's activityat the snap-in provider web site. Thus, when a consumer clicks on thedigital content in the vacancy and is connected to the snap-in providersweb site, service provider server 340 may still track the consumeractivity.

Alternatively, trading engine 542 may simply provide host server 320with the actual digital content. For example, if the snap-in providerincluded with the snap-in a GIF image (e.g., a banner advertisement),instead of a URL link, the GIF image is forwarded to host server 320 fordisplay. Also at this point, trading engine 542 may log the completedtransaction and debit or credit the snap-in provider and host andappropriate amount.

FIG. 11 depicts an advertising system 1100 consistent with the presentinvention. System 1100 contains a primary content distribution server1102 capable or generating additional revenue from vacancies 1104 oncontainers 1103. Snap-in provider sewer 1105 contains snap-in 1106created to fill vacancies 1104. Broker/Trading server 1107 matchesvacancies 1104 with snap-in 1106.

A primary digital content provider may use a vacancy editor software tographically define vacancy 1104 in container 1103. The provider alsodefines the vacancy's properties, such as the availability of units of10,000 impressions for sale in December only, at a price of 4 cents perimpression, keywords typed by a consumer in real-time, such as“teenager.” The provider then uses the host software to submit vacancy1104 to broker/trading server 1107. When consumer traffic increases atprimary content distribution server 1102, the host software notifiesbroker/trading server 1107 of the increased traffic and to update thedynamic properties of vacancy 1104.

A secondary digital content provider may use a snap-in editor software,such as a web wizard, to designate specific snap-ins 1106 to bedelivered to specific consumer profiles. The snap-in may be a banneradvertisement, a virtual storefront, or any other digital content. Thedigital content provider may also use the appropriate software toindicate a preference for teenage consumers during peak web traffic fora snap-in 1106. Each time a consumer 1108 requests a container 1103 withvacancy 1104, the host software notifies broker/trading server 1107,which initiates a suitable trade. Broker/Trading server 1107 matchessnap-in 1106 with vacancy 1104 (described above), and then transmits thesnap-in to primary content distribution server 1102. The adaptersoftware then merges the content with the vacancy 1104. Primary contentdistribution server 1102 transmits container 1103 with snap-in 1106 inplace of vacancy 1104.

The primary content provider immediately receives revenue form secondarydigital content providers who have created the snap-in 1106.

Alternative Content Distribution System

FIG. 12 depicts an alternative content distribution system suitable forpracticing methods and systems consistent with the present invention.FIG. 12 illustrates a network 1260 that contains a vacancy provider 1262(the primary content distributor), a vacancy/snap-in providers 1264, anda service provider with a broker/trading engine 1266. Contentdistributor 1262 communicates with content consumers, such as mobiledevices 1290, through communication infrastructure 1280. For example, aspart of the process in which vacancy provider (and primary contentdistributor) 1262 broadcast content to mobile devices 1290, adapter 1268detects the vacancy and notifies the service provider 1266 via hostsoftware 1267. Service provider 1266 obtains suitable matching contentfrom snap-in content provider 1264 and transmits the snap-in to adapter1268 at the vacancy provider. Adapter 1268 merges the snap-in contentwith the primary distributor's content in a format understandable tomobile device 1290 (such as mobile IP, or PCS) and then transmits thecontent.

The operation of system 1260 is substantially the same as that describedabove except for the adapter software which is specialized to thisdistribution method, and the output device for receiving digitalcontent, which in this example is a mobile device. A similarconfiguration may be used to provide digital content in a mannerconsistent with the present invention to other output devices liketelevisions and radios.

CONCLUSION

As explained, systems consistent with the present invention overcome theshortcoming of existing systems by providing a virtual marketplace thatmatches a unit of secondary digital content (snap-in) with a defined(vacancy) within primary content, such as a web site.

Although aspects of the present invention are described as being storedin memory, one skilled in the art will appreciate that these aspects maybe stored on or read from other computer readable media, such assecondary storage devices, like hard disks, floppy disks, and CD-ROM; acarrier wave received from a network like the Internet, or other formsof ROM or RAM. Additionally, although specific components and programsof consumer computer 110, and various servers have been described, oneskilled in the art will appreciate that these may contain additional ordifferent components or programs.

The foregoing description of an implementation of the invention has beenpresented for purposes of illustration and description. It is notexhaustive and does not limit the invention to the precise formdisclosed. Modifications and variations are possible in light of theabove teaching or may be acquired from practicing the invention. Forexample, vacancies and objects may be represented as objects includingmethods and functions. Moreover, the described implementation includessoftware but the present invention may be implemented as a combinationof hardware and software or in hardware alone. The invention may beimplemented with both object-oriented and non-object-orientedprogramming systems.

1. A method for creating within a primary content of a digital medium avacancy, the vacancy including a spatial and/or temporal region withinthe primary content, comprising: defining the vacancy with at least onedata processing system comprising at least one memory for storinginstructions and at least one processor for executing said instructionsby associating attributes that describe the vacancy with the vacancy;reserving the vacancy, with the at least one data processing system, asa designated region in the primary content of the digital medium to befilled by a secondary digital content whose attributes match those ofthe vacancy, wherein the attributes of the vacancy are used by the atleast one data processing system to determine how and/or when thevacancy is to be filled by the secondary digital content.
 2. The methodof claim 1, wherein defining the vacancy comprises embedding digitaldata within the primary content, wherein the digital data comprises ahyper text markup language (HTML), an extended markup language (XML), ora combination thereof.
 3. The method of claim 1, wherein defining thevacancy comprises creating a vacancy definition as data within ametadata file, the data being associated with the content that containsthe vacancy to determine the location of the vacancy.
 4. The method ofclaim 1, wherein defining the vacancy comprises embedding specialcharacters within the primary digital content.
 5. The method of claim 1,further comprising defining a plurality of vacancies within the primarycontent, wherein attributes are associated with each of the plurality ofvacancies.
 6. The method of claim 1, wherein defining the vacancycomprises defining dynamic attributes among the vacancy attributes,wherein values of the dynamic attributes are resolved in the process oftransmitting information about the vacancy to a service provider forcontent to fill the vacancy, wherein the values are resolved fromproperties of the ambient content, or from properties known to anapplication software that interacts with the vacancy, or from consumeridentifying properties, or from any resolvable value that can be mappedto a dynamic attribute in the process of transmitting the vacancy. 7.The method of claim 1, wherein defining the vacancy comprises definingstatic attributes among the vacancy attributes, wherein values of thestatic attributes do not change between the definition of the values andthe transmission of the vacancy information for content to fill thevacancy, wherein the static attributes comprise pre-designated contentpreferences, properties of the vacancy owner, or properties of anambient content, or a combination of two or more thereof.
 8. The methodof claim 1, wherein defining the vacancy comprises assigning a uniquealphanumeric identifier to the vacancy, as an attribute, so that theidentifier unambiguously refers to the vacancy and so that otherattributes of the vacancy can alternately be stored at a serviceprovider and correlated to the vacancy through the unique identifier. 9.The method of claim 1, wherein defining the vacancy comprisesimplementing vacancy definitions in the content in the form of embeddedXML, or HTML tags, wherein in a normal course of HTTP/HTTPS, theembedded XML or HTML tags can further notify server software and mergesnap-in content into the vacancy.
 10. The method of claim 1, whereindefining the vacancy comprises assigning the vacancy an attribute ofdefault content, the default content being used to determine the contentthat fills the vacancy in the event that no available snap-in is found.11. The method of claim 1, wherein defining the vacancy comprises usingsoftware to create the definition.
 12. A method for creating a snap-infor distributing, wherein the snap-in includes a unit of digital contentcomprising: defining a snap-in with at least one data processing systemcomprising at least one memory for storing instructions and at least oneprocessor for executing said instructions by associating attributes thatdescribe the snap-in with the snap-in; and associating, with the atleast one data processing system, a unit of digital content with thesnap-in; wherein the unit of digital content comprises textual content,binary content, video content or audio content, or a combination of twoor more thereof; wherein the attributes are used by the at least onedata processing system to distribute the snap-in; and wherein the unitof digital content is rendered by the at least one data processingsystem into an appropriate form for the digital medium and/or context towhich the snap-in is distributed.
 13. The method of claim 12, whereindefining the snap-in comprises associating content with the snap-in,wherein the associating of the content comprises including the contentdirectly within the snap-in definition or including meta-data sufficientto resolve the content within the snap-in definition.
 14. The method ofclaim 12, wherein defining the snap-in comprises defining dynamicattributes among the snap-in attributes, wherein the dynamic attributeshave values resolved in the process of resolving and transmitting thesnap-in's content to fill a designated vacancy, wherein the values ofthe dynamic attributes are resolved from properties of a vacancy'scontent container, or properties of the vacancy, or properties known toan application software that interacts with the snap-in, or propertiesof the consumer, or any resolvable value that can be mapped to a dynamicattribute in the process of transmission of the snap-in.
 15. The methodof claim 12, wherein defining the snap-in comprises defining staticattributes among the snap-in attributes, wherein the static attributesare attributes of the snap-in whose values do not change between theirdefinition and the transmission of the snap-in's content.
 16. The methodof claim 12, wherein defining the snap-in comprises defining analgorithm in a conventional or proprietary computer language to assemblespecialized content dynamically and to render the content into anappropriate format for its destination medium.
 17. The method of claim12, wherein defining the snap-in comprises assigning the snap-in aunique alphanumeric identifier, as an attribute, so that the snap-in canbe unambiguously referred to by the identifier.
 18. The method of claim12, wherein the content of the snap-in includes syndicated content,business information, personal information, entertainment content,educational content, an advertisement, or a digital storefront forconsumer purchases, or a combination of two or more thereof.
 19. Themethod of claim 12, wherein defining the snap-in comprises usingsoftware to create a definition of the snap-in.
 20. A method fornotifying a server in real-time about an available vacancy before thecontent containing the vacancy is consumed, the method comprising:detecting a vacancy with at least one data processing system comprisingat least one memory for storing instructions and at least one processorfor executing said instructions prior to consumption of the primarycontent; and transmitting with the at least one data processing systemvacancy attributes that describe the vacancy to a server prior to theconsumption of the primary content.
 21. The method of claim 20, whereintransmitting vacancy attributes to the server comprises creating a datastructure in a memory that contains attributes of the available vacancyand other useful information about the consuming environment, whereinthe data structure is configured to be transmitted as the vacancynotification.
 22. The method of claim 20, wherein detecting the vacancyand transmitting the vacancy attributes comprises using animplementation compatible with HTTP/HTTPS/HTML/XML, wherein a vacancydefinition in the consumer software is in the form of embedded HTML orXML tags with a uniform resource locator that may contain vacancyattributes, the uniform resource locator resolving to server software sothat consumer software automatically detects the vacancy and transmitsvacancy attributes to server software in the course of a normalHTTP/HTTPS process.
 23. The method of claim 20, wherein detecting thevacancy and transmitting the vacancy attributes comprises runningadapter software adapted for a medium in a network proxy with software,linked with software, or connected with software that is distributingcontent containing the vacancy, and detecting the vacancy either throughmetadata embedded in the content, or through metadata associated withthe content, the adapter software then transmitting a vacancynotification, with attributes of the vacancy, to server software.
 24. Amethod for delivering snap-in content upon request, comprising:receiving with at least one data processing system comprising at leastone memory for storing instructions and at least one processor forexecuting said instructions a request for a snap-in; selecting with theat least one data processing system a snap-in, wherein attributes of theselected snap-in match attributes of the request; acquiring with the atleast one data processing system the snap-in content; preparing with theat least one data processing system the snap-in for delivery; andproviding with the at least one data processing system the requestingclient with information corresponding to the snap-in content.
 25. Themethod of claim 24, wherein receiving the request for the snap-incomprises receiving a notification of a vacancy that requires thesnap-in, with attributes of the vacancy.
 26. The method of claim 24,wherein selecting the snap-in further comprises querying a repository ordatabase for snap-ins and snap-in providers that are eligible based on amatching of the attributes of the vacancy, the snap-in and preferencesof the providers of the digital assets.
 27. The method of claim 24,wherein a preference of the vacancy or snap-in is defined by trackingthe frequency of use or popularity of the vacancy or snap-in andassigning a value based on the frequency of use.
 28. The method of claim24, wherein selecting the snap-in comprises reading a preset vacancyattribute, the preset vacancy attribute designating a specific snap-in,and using the specific snap-in.
 29. The method of claim 24, whereinselecting the snap-in comprises executing a financial transaction,wherein the transaction includes a buy, sell, or barter transaction, ora combination of two or more thereof, and wherein an object of thetransaction is either the vacancy or the snap-in.
 30. The method ofclaim 24, wherein selecting the snap-in comprises executing a financialtransaction, wherein the transaction includes an automated auction. 31.The method of claim 24, wherein selecting the snap-in comprises creatinga lease data structure, the lease containing information that recordsthe event of selecting a digital asset for use according to termsincluding exclusivity, number of permitted uses, and/or other similarinformation that may derive from things including the attributes of thesnap-in, vacancy, or stored preferences of the owners of these digitalassets.
 32. The method of claim 24, wherein selecting the snap-incomprises reading a pre-existing lease either for a vacancy or for asnap-in, and deciding based on the lease whether to permit the requesteduse of the requested snap-in or vacancy.
 33. The method of claim 24,wherein selecting the snap-in comprises applying trading strategies, thetrading strategies are definable within provider preferences or withinthe attributes of the snap-in and the vacancy so as to permit automatednegotiation among owners of snap-ins and vacancies.
 34. The method ofclaim 24, wherein acquiring the snap-in content comprises resolving thecontent, wherein the resolving of the data comprises fetching storeddata, or dynamically generating the content on the fly by using SQL toextract content from a relational database, or VBScript to extractspreadsheet content, or IMAP to extract content from internet emailservers, or SOAP to extract content from a web service, or by otherwiseexecuting an algorithm in a conventional or proprietary computerlanguage, or a combination of two or more thereof, to retrievespecialized content dynamically.
 35. The method of claim 24, whereinacquiring the snap-in content comprises using a unique snap-inidentifier supplied by a requestor to determine the specific snap-incontent to resolve.
 36. The method of claim 24, wherein preparing thesnap-in for delivery further comprises rendering or formatting thecontent to suit a destination medium of the content or a vacancyenvironment as defined by attributes of the vacancy.
 37. The method ofclaim 24, wherein preparing the snap-in for delivery comprises insertinginformation into the content to enable tracking of the consumerinteraction with the snap-in content, wherein the inserted informationincludes information that arrived with a vacancy notification.
 38. Themethod of claim 24, wherein providing the requesting client withinformation corresponding to the snap-in comprises delivering thesnap-in to a client using a network transport protocol suitable to themedium, the network transport protocols include HTTP/HTTPS, SOAP, GPRSand TCP/IP.
 39. The method of claim 24, wherein acquiring the snap-incontent comprises bridging between a particular distribution medium andprotocols of a service provider by including an adapter software runningin a network proxy with the content distribution software, linked withthe content distribution software, or connected with the contentdistribution software distributing the snap-in content, wherein theadapter software is configured to process snap-in content requests andtransmit the snap-in content on behalf of a native software of thedistribution medium.
 40. A method for filling a vacancy, comprising:receiving with at least one data processing system comprising at leastone memory for storing instructions and at least one processor forexecuting said instructions a snap-in, the snap-in comprising snap-inattributes that match vacancy attributes that describe the vacancy; andmerging with the at least one data processing system informationcorresponding to content of the snap-in within a region reserved by thevacancy in a manner consistent with filling the vacancy.
 41. The methodof claim 40, wherein merging information corresponding to the snap-incontent comprises using an implementation compatible with HTTP/HTTPSwherein the snap-in content is transmitted to an HTML compatible clientas an HTML or XML element or elements via an HTTP/HTTPS URL, such thatthe snap-in content is merged with the web page in the normal course ofHTTP/HTTPS transport and HTML rendering.
 42. A method for filling avacancy, comprising: receiving with at least one data processing systemcomprising at least one memory for storing instructions and at least oneprocessor for executing said instructions a snap-in, the snap-incomprising snap-in attributes that match vacancy attributes thatdescribe the vacancy; and merging with the at least one data processingsystem information corresponding to content of the snap-in within aregion reserved by the vacancy in a manner consistent with filling thevacancy, wherein the merging of information corresponding to the snap-incontent comprises running an adapter software either in a network proxywith the content distribution software, linked with the contentdistribution software, or connected with the content distributionsoftware, such that the adapter software is able to pre-process thecontent before consumption, knows the position of the vacancy eitherthrough embedded data in the content, or through metadata associatedwith the content, and the adapter software inserts the snap-in contentin an appropriate place as defined by the vacancy.
 43. A method ofproviding a broker for registering and discovering snap-ins andvacancies, comprising: permitting with at least one data processingsystem comprising at least one memory for storing instructions and atleast one processor for executing said instructions each one of aplurality of vacancy providers to submit information associated withthemselves and their vacancies to a database, wherein informationassociated with vacancies includes, for each vacancy, vacancy attributesthat describe the vacancy; permitting with the at least one dataprocessing system each one of a plurality of snap-in providers to submitinformation associated with themselves and their snap-ins to a database,wherein information associated with snap-ins includes, for each snap-in,snap-in attributes that describe the snap-in; permitting with the atleast one data processing system parties seeking content assets to viewavailable snap-ins or vacancies; permitting with the at least one dataprocessing system parties to manually select a specific snap-in orvacancy for use; permitting with the at least one data processing systemparties to bind a specific snap-in to a specific vacancy, so that thesnap-in content will appear in the specific vacancy if the snap-inattributes of the specific snap-in match the vacancy attributes of thespecific vacancy and/or the information associated with the snap-inprovider matches the information associated with the vacancy provider ofthe specific vacancy.
 44. The method of claim 43, wherein permittingparties seeking content assets to see the available snap-ins orvacancies comprises allowing the parties to submit queries on desiredattributes via a web application and presenting list and detail resultsthrough the web application.
 45. The method of claim 43, whereinpermitting parties seeking content assets to see the available snap-insor vacancies comprises implementing in a web page whose merged contentcontains vacancies already filled with snap-in content or defaultcontent, whereby a consumer of the web page is able to click on a linkembedded in the page that points to the service provider server,whereupon the same page is processed by service provider software to bedisplayed in the browser in such a manner that the vacancies andsnap-ins become visible as content components, and may be clicked uponby the viewing party to buy, or use.
 46. The method of claim 43, whereinpermitting parties to manually select the specific snap-in or vacancyfor use further includes executing a final transaction including buying,selling or bartering, or a combination of two or more thereof, toauthorize the use of the snap-in or vacancy.
 47. The method of claim 43,wherein permitting parties to manually bind a specific snap-in to aspecific vacancy comprises customizing or personalizing the content ofthe snap-in by entering certain values for certain dynamic attributes.